namespace php {
class PharException {
    Object this_;
  public:
    PharException(const Variant &message = "", const Variant &code = 0, const Variant &previous = {});
    Variant __wakeup();
    Variant getMessage();
    Variant getCode();
    Variant getFile();
    Variant getLine();
    Variant getTrace();
    Variant getPrevious();
    Variant getTraceAsString();
    Variant __toString();
};

class Phar {
    Object this_;
  public:
    Phar(const Variant &filename, const Variant &flags = 12288, const Variant &alias = {});
    Variant addEmptyDir(const Variant &directory);
    Variant addFile(const Variant &filename, const Variant &local_name = {});
    Variant addFromString(const Variant &local_name, const Variant &contents);
    Variant buildFromDirectory(const Variant &directory, const Variant &pattern = "");
    Variant buildFromIterator(const Variant &iterator, const Variant &base_directory = {});
    Variant compressFiles(const Variant &compression);
    Variant decompressFiles();
    Variant compress(const Variant &compression, const Variant &extension = {});
    Variant decompress(const Variant &extension = {});
    Variant convertToExecutable(const Variant &format = {}, const Variant &compression = {}, const Variant &extension = {});
    Variant convertToData(const Variant &format = {}, const Variant &compression = {}, const Variant &extension = {});
    Variant copy(const Variant &from, const Variant &to);
    Variant count(const Variant &mode = 0);
    Variant _delete(const Variant &local_name);
    Variant delMetadata();
    Variant extractTo(const Variant &directory, const Variant &files = {}, const Variant &overwrite = false);
    Variant getAlias();
    Variant getPath();
    Variant getMetadata(const Array &unserialize_options = {});
    Variant getModified();
    Variant getSignature();
    Variant getStub();
    Variant getVersion();
    Variant hasMetadata();
    Variant isBuffering();
    Variant isCompressed();
    Variant isFileFormat(const Variant &format);
    Variant isWritable();
    Variant offsetExists(const Variant &local_name);
    Variant offsetGet(const Variant &local_name);
    Variant offsetSet(const Variant &local_name, const Variant &value);
    Variant offsetUnset(const Variant &local_name);
    Variant setAlias(const Variant &alias);
    Variant setDefaultStub(const Variant &index = {}, const Variant &web_index = {});
    Variant setMetadata(const Variant &metadata);
    Variant setSignatureAlgorithm(const Variant &algo, const Variant &private_key = {});
    Variant setStub(const Variant &stub, const Variant &length = {});
    Variant startBuffering();
    Variant stopBuffering();
    static Variant apiVersion();
    static Variant canCompress(const Variant &compression = 0);
    static Variant canWrite();
    static Variant createDefaultStub(const Variant &index = {}, const Variant &web_index = {});
    static Variant getSupportedCompression();
    static Variant getSupportedSignatures();
    static Variant interceptFileFuncs();
    static Variant isValidPharFilename(const Variant &filename, const Variant &executable = true);
    static Variant loadPhar(const Variant &filename, const Variant &alias = {});
    static Variant mapPhar(const Variant &alias = {}, const Variant &offset = 0);
    static Variant running(const Variant &return_phar = true);
    static Variant mount(const Variant &phar_path, const Variant &external_path);
    static Variant mungServer(const Variant &variables);
    static Variant unlinkArchive(const Variant &filename);
    static Variant webPhar(const Variant &alias = {}, const Variant &index = {}, const Variant &file_not_found_script = {}, const Array &mime_types = {}, const Variant &rewrite = {});
    Variant hasChildren(const Variant &allow_links = false);
    Variant getChildren();
    Variant getSubPath();
    Variant getSubPathname();
    Variant rewind();
    Variant key();
    Variant current();
    Variant getFlags();
    Variant setFlags(const Variant &flags);
    Variant getFilename();
    Variant getExtension();
    Variant getBasename(const Variant &suffix = "");
    Variant isDot();
    Variant valid();
    Variant next();
    Variant seek(const Variant &offset);
    Variant __toString();
    Variant getPathname();
    Variant getPerms();
    Variant getInode();
    Variant getSize();
    Variant getOwner();
    Variant getGroup();
    Variant getATime();
    Variant getMTime();
    Variant getCTime();
    Variant getType();
    Variant isReadable();
    Variant isExecutable();
    Variant isFile();
    Variant isDir();
    Variant isLink();
    Variant getLinkTarget();
    Variant getRealPath();
    Variant getFileInfo(const Variant &_class = {});
    Variant getPathInfo(const Variant &_class = {});
    Variant openFile(const Variant &mode = "r", const Variant &use_include_path = false, const Variant &context = {});
    Variant setFileClass(const Variant &_class = "SplFileObject");
    Variant setInfoClass(const Variant &_class = "SplFileInfo");
    Variant __debugInfo();
    Variant _bad_state_ex();
};

class PharData {
    Object this_;
  public:
    PharData(const Variant &filename, const Variant &flags = 12288, const Variant &alias = {}, const Variant &format = 0);
    Variant addEmptyDir(const Variant &directory);
    Variant addFile(const Variant &filename, const Variant &local_name = {});
    Variant addFromString(const Variant &local_name, const Variant &contents);
    Variant buildFromDirectory(const Variant &directory, const Variant &pattern = "");
    Variant buildFromIterator(const Variant &iterator, const Variant &base_directory = {});
    Variant compressFiles(const Variant &compression);
    Variant decompressFiles();
    Variant compress(const Variant &compression, const Variant &extension = {});
    Variant decompress(const Variant &extension = {});
    Variant convertToExecutable(const Variant &format = {}, const Variant &compression = {}, const Variant &extension = {});
    Variant convertToData(const Variant &format = {}, const Variant &compression = {}, const Variant &extension = {});
    Variant copy(const Variant &from, const Variant &to);
    Variant count(const Variant &mode = 0);
    Variant _delete(const Variant &local_name);
    Variant delMetadata();
    Variant extractTo(const Variant &directory, const Variant &files = {}, const Variant &overwrite = false);
    Variant getAlias();
    Variant getPath();
    Variant getMetadata(const Array &unserialize_options = {});
    Variant getModified();
    Variant getSignature();
    Variant getStub();
    Variant getVersion();
    Variant hasMetadata();
    Variant isBuffering();
    Variant isCompressed();
    Variant isFileFormat(const Variant &format);
    Variant isWritable();
    Variant offsetExists(const Variant &local_name);
    Variant offsetGet(const Variant &local_name);
    Variant offsetSet(const Variant &local_name, const Variant &value);
    Variant offsetUnset(const Variant &local_name);
    Variant setAlias(const Variant &alias);
    Variant setDefaultStub(const Variant &index = {}, const Variant &web_index = {});
    Variant setMetadata(const Variant &metadata);
    Variant setSignatureAlgorithm(const Variant &algo, const Variant &private_key = {});
    Variant setStub(const Variant &stub, const Variant &length = {});
    Variant startBuffering();
    Variant stopBuffering();
    static Variant apiVersion();
    static Variant canCompress(const Variant &compression = 0);
    static Variant canWrite();
    static Variant createDefaultStub(const Variant &index = {}, const Variant &web_index = {});
    static Variant getSupportedCompression();
    static Variant getSupportedSignatures();
    static Variant interceptFileFuncs();
    static Variant isValidPharFilename(const Variant &filename, const Variant &executable = true);
    static Variant loadPhar(const Variant &filename, const Variant &alias = {});
    static Variant mapPhar(const Variant &alias = {}, const Variant &offset = 0);
    static Variant running(const Variant &return_phar = true);
    static Variant mount(const Variant &phar_path, const Variant &external_path);
    static Variant mungServer(const Variant &variables);
    static Variant unlinkArchive(const Variant &filename);
    static Variant webPhar(const Variant &alias = {}, const Variant &index = {}, const Variant &file_not_found_script = {}, const Array &mime_types = {}, const Variant &rewrite = {});
    Variant hasChildren(const Variant &allow_links = false);
    Variant getChildren();
    Variant getSubPath();
    Variant getSubPathname();
    Variant rewind();
    Variant key();
    Variant current();
    Variant getFlags();
    Variant setFlags(const Variant &flags);
    Variant getFilename();
    Variant getExtension();
    Variant getBasename(const Variant &suffix = "");
    Variant isDot();
    Variant valid();
    Variant next();
    Variant seek(const Variant &offset);
    Variant __toString();
    Variant getPathname();
    Variant getPerms();
    Variant getInode();
    Variant getSize();
    Variant getOwner();
    Variant getGroup();
    Variant getATime();
    Variant getMTime();
    Variant getCTime();
    Variant getType();
    Variant isReadable();
    Variant isExecutable();
    Variant isFile();
    Variant isDir();
    Variant isLink();
    Variant getLinkTarget();
    Variant getRealPath();
    Variant getFileInfo(const Variant &_class = {});
    Variant getPathInfo(const Variant &_class = {});
    Variant openFile(const Variant &mode = "r", const Variant &use_include_path = false, const Variant &context = {});
    Variant setFileClass(const Variant &_class = "SplFileObject");
    Variant setInfoClass(const Variant &_class = "SplFileInfo");
    Variant __debugInfo();
    Variant _bad_state_ex();
};

class PharFileInfo {
    Object this_;
  public:
    PharFileInfo(const Variant &filename);
    Variant chmod(const Variant &perms);
    Variant compress(const Variant &compression);
    Variant decompress();
    Variant delMetadata();
    Variant getCompressedSize();
    Variant getCRC32();
    Variant getContent();
    Variant getMetadata(const Array &unserialize_options = {});
    Variant getPharFlags();
    Variant hasMetadata();
    Variant isCompressed(const Variant &compression = {});
    Variant isCRCChecked();
    Variant setMetadata(const Variant &metadata);
    Variant getPath();
    Variant getFilename();
    Variant getExtension();
    Variant getBasename(const Variant &suffix = "");
    Variant getPathname();
    Variant getPerms();
    Variant getInode();
    Variant getSize();
    Variant getOwner();
    Variant getGroup();
    Variant getATime();
    Variant getMTime();
    Variant getCTime();
    Variant getType();
    Variant isWritable();
    Variant isReadable();
    Variant isExecutable();
    Variant isFile();
    Variant isDir();
    Variant isLink();
    Variant getLinkTarget();
    Variant getRealPath();
    Variant getFileInfo(const Variant &_class = {});
    Variant getPathInfo(const Variant &_class = {});
    Variant openFile(const Variant &mode = "r", const Variant &use_include_path = false, const Variant &context = {});
    Variant setFileClass(const Variant &_class = "SplFileObject");
    Variant setInfoClass(const Variant &_class = "SplFileInfo");
    Variant __toString();
    Variant __debugInfo();
    Variant _bad_state_ex();
};

}
